import {
  // 请求问题列表API函数
  getIssueList
} from '../../../api/customerServiceApi'

Page({
  data:{
    height:getApp().availableWindow.height - 90,  // 屏幕高度
    message:'', // 消息输入框绑定数据
    scrollTop:'',
    qaList:[], // 问题列表
    messageList:[{
      provenience:1,
      type:0,
      time:new Date().getTime(),
      info:"机器人商水超市正在为您服务，以下是您想问的吗？"
    }], // 消息列表
  },

  /**
   * 页面加载时执行该函数
   */
  onLoad:function(){
    // 初始化消息列表
    this.initMessageList()
  },
  

  /**
   * 初始化消息列表
   */
  initMessageList:function(){
    let adata = this.data
    // 请求客服中心的问题列表
    getIssueList().then(res=>{ 
      console.log("请求客服模块问题列表成功",res);
      adata.qaList = res.data.list // 初始化问题列表
      adata.messageList.push( {  // 将问题列表封装成消息，放入消息列表
        type:1,  // 消息类型 1表示问题列表 0表示文本消息
        provenience:1, // 消息发送者：1表示机器人发送的消息 0表示用户发送的消息
        title:"常见问题", 
        time:new Date().getTime(),
        contentList:adata.qaList // 问题列表
      })
      this.setData({ messageList:adata.messageList })
    }).catch(err=>{
      console.log("请求客服模块问题列表 失败",err);
    })
  },

  

  /**
   * 给输入框绑定数据
   * @param {Object} e 事件对象 
   */
  bindMessage:function(e){
    this.setData({ message:e.detail.trim()})
  },

  /**
   * 发送消息
   */
  sendMessage:function(){
    let ad = this.data
    let info = ad.message 
    let i = -1
    ad.messageList.push({
      info:ad.message, // 消息内容
      time:new Date().getTime(), // 消息创建时间
      type:0, // 消息类型，0表示文本消息，1表示图片消息
      provenience:0, // 消息来源，0表示用户发送 1表示对方发送
    })
    ad.qaList.forEach((item,index)=> item.question.indexOf(info) != -1 ? i = index : '' )
    i > -1 ? info = ad.qaList[i].answer :
             info = "抱歉，您的问题本机器人无法回答，请找人工客服小姐姐去咨询吧！"
    ad.messageList.push({
      type:0,
      provenience:1,
      time:new Date().getTime(),
      info:info
    })
    this.setData({ 
      message:'',
      messageList:ad.messageList, 
      scrollTop:ad.messageList.length * 500
    })    
  },

  /**
   * 处理用户选择的问题
   * @param {Object} e 事件对象
   */
  handleIssue:function(e){
    let issue =  e.detail // 获取用户点击的问题
    console.log("---------------------",issue);
    this.data.messageList.push({
      type:0,
      provenience:0,
      time:new Date().getTime(),
      info:issue.question
    })
    this.data.messageList.push({
      type:0,
      provenience:1,
      time:new Date().getTime(),
      info:issue.answer
    })
    this.setData({
      messageList:this.data.messageList,
      scrollTop:this.data.messageList.length *500
    })
  },

})